package com.shuda.business.crm.service;

import com.shuda.business.crm.dto.CustomerFollowUpDTO;
import com.shuda.business.crm.dto.CustomerFollowUpQueryDTO;
import com.shuda.common.dto.PageDTO;
import com.shuda.common.utils.PageResult;

import java.util.List;

/**
 * 客户跟进服务接口
 */
public interface CustomerFollowUpService {

    /**
     * 获取跟进记录分页列表
     */
    PageResult<CustomerFollowUpDTO> getFollowUpPage(PageDTO pageDTO, CustomerFollowUpQueryDTO queryDTO);

    /**
     * 获取跟进记录详情
     */
    CustomerFollowUpDTO getFollowUpById(Long id);

    /**
     * 创建跟进记录
     */
    CustomerFollowUpDTO createFollowUp(CustomerFollowUpDTO followUpDTO);

    /**
     * 更新跟进记录
     */
    CustomerFollowUpDTO updateFollowUp(Long id, CustomerFollowUpDTO followUpDTO);

    /**
     * 删除跟进记录
     */
    Boolean deleteFollowUp(Long id);

    /**
     * 获取客户的跟进记录
     */
    PageResult<CustomerFollowUpDTO> getCustomerFollowUps(PageDTO pageDTO, Long customerId);

    /**
     * 获取我的跟进记录
     */
    PageResult<CustomerFollowUpDTO> getMyFollowUps(PageDTO pageDTO);

    /**
     * 获取待跟进记录
     * @return 待跟进记录列表
     * @author ink
     * @Description: 与实现类保持一致，供控制器调用
     * @date 2025-11-09 23:40
     */
    List<CustomerFollowUpDTO> getPendingFollowUps();
}